/*
 * Clase que descarga información desde internet
 * 
 * @author HPCIII_Team2013
 */

package cl.ucn.hpc.descarga;

import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

public class Download implements Serializable {
	//Creado automaticamente por java para clases serializables
	private static final long serialVersionUID = 3193736026167175612L;

	/*
	 * Constructor de la clase
	 */
	public Download() {

	}

	/*
	 * Obtiene el contenido integro de la pagina descargada
	 * 
	 * @param url Link de la pagina a descargar
	 * @return Pagina completa con sus anotacions HTML incluidas
	 * @throws MalformedURLException Si no se encontro la pagina
	 * @throws IOException Si no puede crear el InputStream
	 */
	public static InputStream fetch(final String url) throws MalformedURLException, IOException {
		URL u = new URL(url);
		URLConnection urlCon = u.openConnection();
		return urlCon.getInputStream();
	}

	/*
	 * Obtiene el nombre de la pagina entregada
	 * 
	 * @param url Link de la pagina solicitada
	 * @return Nombre de la pagina
	 * @throws MalformedURLException Si no se encontro la pagina
	 */
	public static String host(final String url) throws MalformedURLException {
		URL u = new URL(url);
		return u.getHost();
	}
}
